home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 June / CHIP 2005-06.iso / program / web / kmsetup.exe / {app} / Motion Scripts / Growing Mask / effect2.txt
Encoding:
Text File  |  2004-07-28  |  2.4 KB  |  88 lines

  1.  
  2. // main_init function
  3.  
  4. main_init = function(mc){
  5.  subs_done = true;
  6.  b      = mc.getBounds(mc);         // get boundaries
  7.  h_inc  = (b.xMax - b.xMin) / cols; // calculate horizontal inc value
  8.  v_inc  = (b.yMax - b.yMin) / rows; // calculate vertical inc value
  9.  bl_w   = h_inc + .2;               // calculate block width
  10.  bl_h   = v_inc + .2;               // calculate block height
  11.  if (equal_wh) bl_w = bl_h = Math.max(bl_w,bl_h);
  12.  hbw    = bl_w * .5;                // calculate half block width
  13.  hbh    = bl_h * .5;                // calculate half block height
  14.  if (shape < 1){
  15.   draw_shape = function(){
  16.    bl.moveTo (-hbw,-hbh);
  17.    bl.lineTo (hbw,-hbh);
  18.    bl.lineTo (hbw,hbh);
  19.    bl.lineTo (-hbw,hbh);
  20.   }
  21.  } else if (shape > 2){
  22.   if (shape == 3){ r0=.5; r1=1.2; r2=1; }else{ r0=1; r1=r2=.7; }
  23.   draw_shape = function(){
  24.    bl.moveTo( 0, -bl_h*r1);
  25.    for (i=0;i<=6.28;i+=.628){              
  26.     bl.curveTo(Math.sin(i-.314)*bl_w*r0,-Math.cos(i-.314)*bl_h*r0,Math.sin(i)*bl_w*r1,-Math.cos(i)*bl_h*r1);
  27.     rt=r1; r1=r2; r2=rt;
  28.    }
  29.   }
  30.  } else if (shape == 1){
  31.   draw_shape = function(){
  32.    bl.moveTo (-bl_w,0);
  33.    bl.lineTo (0,-bl_h);
  34.    bl.lineTo (bl_w,0);
  35.    bl.lineTo (0,bl_h);
  36.   }
  37.  } else {
  38.   br_x = hbw * 1.4; tl_x = - br_x;
  39.   br_y = hbh * 1.4; tl_y = - br_y;
  40.   cx = bl_w * .04;
  41.   cy = bl_h * .04;
  42.   draw_shape = function (){
  43.    bl.moveTo ( 0, tl_y );
  44.    bl.curveTo ( br_x-cx, tl_y+cy, br_x, 0 );
  45.    bl.curveTo ( br_x-cx, br_y-cy, 0, br_y );
  46.    bl.curveTo ( tl_x+cx, br_y-cy, tl_x, 0 );
  47.    bl.curveTo ( tl_x+cx, tl_y+cy, 0, tl_y );
  48.   }
  49.  }
  50.  s = out_effect ? 100 : 0;
  51.  createEmptyMovieClip("msk",6);
  52.  mc.setMask(msk);
  53.  ba = []; bl_cnt = 0;
  54.  for(r=0;r<rows;r++){
  55.   for(c=0;c<cols;c++){
  56.    msk.createEmptyMovieClip("b"+bl_cnt,bl_cnt);
  57.    bl = ba[bl_cnt] = msk["b"+bl_cnt];
  58.    bl.beginFill(0);
  59.    draw_shape();
  60.    bl.endFill();
  61.    bl._i = bl_cnt;
  62.    bl.__x = bl._x = b.xMin + (c+.5) * h_inc;
  63.    bl.__y = bl._y = b.yMin + (r+.5) * v_inc;
  64.    bl._xscale = bl._yscale = s;
  65.    bl_cnt++;
  66.   }
  67.  }
  68. }
  69.  
  70. // main_effect function
  71.  
  72. main_effect = function(mc,frame){
  73.  if (frame > lastsubframe) {
  74.   if (out_effect) mc._alpha = 0;
  75.   mc.setMask(null);
  76.   msk.removeMovieClip();
  77.   end_effect = true;
  78.  } else {
  79.   perc = frame / lastsubframe;
  80.   if (out_effect) perc = 1-perc;
  81.   for (b=0; b<bl_cnt;b++){
  82.    ba[b]._xscale = perc * 100;
  83.    ba[b]._yscale = perc * 100;
  84.    ba[b]._rotation = (perc-1) * rotate;
  85.   }
  86.  }
  87. }
  88.